home *** CD-ROM | disk | FTP | other *** search
- Hardware Reset Button and Survivable RAM disk
-
- The IBM/PC lacks a hardware reset button. Not only is this a
- nuisance, but it makes using a RAM disk dangerous. If the
- computer really locks up, so CTL-ALT-DEL doesn't work, it's red
- switch time. Say Bye-bye to the contents of your RAM disk.
-
- This article gives simple directions for installing a reset
- button (no soldering inside the PC.) It also gives simple
- modifications to the device driver EDISK.COM, available on many
- bulletin boards, to install a 128K RAM disk that will survive a
- CTL-ALT -DEL reboot or a hardware reset. This RAM disk is
- installed in the high memory above 640K, so it requires a memory
- expansion board with DIP switches to specify starting memory
- location. The IBM board has these switches, but many don't, so
- check before you buy the board. The RAM disk occupies segments
- D000h to F000h. (This 128K was reserved for ROM cartridges in
- the PC jr.)
-
-
- 1. Installing the Hardware Reset Button
-
- The purpose of the reset button is to reboot the computer without
- having to turn it off and on again. This is done by momentarily
- grounding the "power good" line. Usually the computer does a warm
- boot when this happens, but occasionally it does a cold boot,
- including Power-on-Self-Test (POST). I don't know what
- determines which boot is taken, but the RAM disk to be described
- here will survive either with its contents intact. A hardware
- reset button is also kind to your hard disk, which is more likely
- to suffer head crashes when the PC is turned off and on
- frequently.
-
- The easiest place to ground the "power good" line is at the 8284A
- clock generator chip. Parts needed include a momentary push
- button switch, an 18-pin IC socket, and a cover plate of the type
- used to cover the adapter card cutouts on the PC's rear panel.
- The plate can be removed from the PC, because you will be
- reinstalling it. Drill a hole in the middle of the cover plate
- and mount the push button switch through it with the button on
- the "outside" side of the plate. Solder two eight inch long
- wires between the switch terminals and pins 9 and 11 on the IC
- socket as shown on the diagram:
- ___________________
- | |
- ___________________|_____ |
- | 18 11 10 | |
- | | o
- notch |o 18 PIN IC SOCKET | switch
- | | o
- |_1_____________________9_| |
- | |
- |_______________|
-
- Use fine wire and solder to the pins as close to the socket as
- possible. Note that there is a notch at one end of the socket to
- identify which end is which.
-
- Now disconnect the PC's power cord and remove the cover. Locate
- the 8284A IC at the right rear of the system board near the
- keyboard jack and crystal. Note which way the notch on the IC
- points. It should point to the left if you are facing the case
- from the front. Remove the IC using an IC puller or a small
- screwdriver to pry it up. (I recommend getting a puller at Radio
- Shack. They're cheap. I also recommend that you ground yourself
- to the PC's case using a length of wire before you touch any IC.
- Otherwise static electricity can fry your IC's. Attaching the
- wire to your metal watch band works well.) If you bend any pins,
- straighten them carefully with a needle-nose pliers.
-
- Insert the wired IC socket into the original socket of the 8284A,
- making sure the notch points the same way as on the original
- socket. Reinsert the 8284A into the wired socket. You now have
- a "wedding cake" of original socket, new socket, and IC, each of
- which has its notch pointing the same way.
-
- Remove a blank cover plate from the rear panel of the PC, unless
- you already did this. Replace it by the cover plate with the
- wired push-button switch. Close up the PC, reconnect its power
- cord, and fire it up. When you see the prompt, push the switch
- button momentarily. You should hear a click from the
- loudspeaker, and the PC should reboot. Your hardware reset
- switch is installed.
-
- 2. Survivable RAM disk
-
- For this, you need to install a memory expansion board
- with 128K and switches set for segment D000. The instructions
- are in the file RAMDISK.TXT, available on many bulletin boards.
- This information is also in the Power User column of PC Magazine,
- vol 4 no 21, October 15, 1985. If you don't have access to either
- of these sources, just use a standard IBM 64/256K Memory
- Expansion Option board or equivalent. Set the DIP switches thus:
-
- 1 2 3 4 5 6 7 8
- OFF OFF ON OFF OFF ON OFF OFF
-
- This configures the board for 128K at segment addresses D000h and
- E000h.
-
- Next you modify EDISK.COM, also available on many bulletin
- boards, so that it asks you whether to initialize its RAM disk
- memory on cold boot. When you first power up, you initialize.
- (Failure to initialize leads to memory parity errors.) When you
- do a hardware reset you do not initialize. That way, the only
- way to lose the contents of the RAM disk is by total power loss.
-
- The modification is made to EDISK.ASM at the label COLD_START:
-
- COLD_START: ; Initialize memory to avoid PARITY errors
- ;/MCN addition: ask if ramdisk should be initialized at cold boot
- ;Clobbers AX
- PUSH DS
- PUSH CS;Transfer CS to DS
- POP DS
- LEA DX,WHICH_MESS;Ramdisk clobber message
- MOV AH,9;Print string function
- INT 21H
- MOV AH,1;Keyboard input function
- INT 21H
- POP DS
- CMP AL,'Y';If capital Y
- JZ COLD_CONT
- CMP AL,'y';Or lower case y
- JZ COLD_CONT;Continue with cold start
- JMP HOT_START;Else treat as hot start
- WHICH_MESS: DB "Initialize Hi-RAM disk (y/n)?$"
- COLD_CONT:
- ;\MCN addition end
- SUB AX,AX ;Byte to write (null)
- MOV ES,CS:VDISK_PTR ;Get start addr of 1st
- ;64K sector
-
- etc...
-
- MCN is my son, who coded the modification.
-
- With this change to EDISK, a cold boot gives you the message
- "Initialize Hi-RAM disk (y/n)?" Only if you answer Y (or y) will
- the RAM disk be initialized. On first power-up answer Y, on
- hardware reset answer N or <RETURN> to preserve the RAM disk
- contents.
-
- I have uploaded the file RESETSW.ARC to Stan Staten's board (301-
- 670-9621) and to Tim Conner's board (301-353-3323.) That file
- contains RESETSW.TXT (this article), RAMDISK.TXT, EDISK2.ASM, AND
- EDISK2.SYS. The EDISK2 files include the modification to the
- original EDISK to prompt for RAM disk initialization on cold
- boot.
-
- If there were a way to keep POST from initializing normal memory
- on hardware reset, one could install a survivable RAM disk
- without using a memory expansion board, and it could be larger
- than 128K. I haven't been able to figure out how to do this.
- Can anyone help?
-
- David B. Nelson
- 2311 Spencer Road
- Silver Spring, MD 20910